import BaseRender from './render'

export async function createRender(engine = 'canvas') {
  let cls = null
  try {
    cls = (await import(`./${engine}-render.js`)).default
  } catch (err) {
    throw Error(`未识别${engine}平台的渲染器实现~
请在目录 src/core/render 中定义"${engine}-render.js" 脚本,
脚本中需要定义 export default class ${engine.slice(0, 1).toUpperCase() + engine.slice(1)}Render extend BaseRender`)
  }

  if (!cls instanceof BaseRender) {
    throw TypeError('请检查定义的 Render 是否继承自 BaseRender')
  }

  return cls
}
